package com.ruoyi.supplier.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 采购明细对象 tb_purchase_detail
 * 
 * @author ruoyi
 * @date 2021-03-05
 */
public class TbPurchaseDTO extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long purchaseDetailId;


    /** 采购批次号 */
    @Excel(name = "采购批次号")
    private String purchaseNumber;

    private List<Integer> ids;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Long supplierId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 预计供货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计供货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 采购表ID */
    @Excel(name = "采购表ID")
    private Long purchaseId;

    /**
     * 商品价格表ID
     */
    private Long priceId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long productId;

    /** 数量 */
    @Excel(name = "数量")
    private Long qty;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productDate;

    /** 保质期限 */
    @Excel(name = "保质期限")
    private Long shelfLife;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    @Excel(name = "参考单价")
    private BigDecimal referencePrice;

    /** 规格项 */
    @Excel(name = "规格项")
    private String itemName;

    /** 产地 */
    @Excel(name = "产地")
    private String origin;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private Long measurement;

    /** 商品分类 */
    @Excel(name = "商品分类")
    private String typeName;

    /** 商品分类 */
    private String typeId;
    /** 品牌名称 */
    private String brandId;
    /** 品牌名称 */
    @Excel(name = "品牌名称")
    private String brandDesc;
    /** 商品编号 */
    @Excel(name = "商品编号")
    private String productSn;
    /** 是否包装类型 */
    private String isPack;

    public Long getPurchaseDetailId() {
        return purchaseDetailId;
    }

    public void setPurchaseDetailId(Long purchaseDetailId) {
        this.purchaseDetailId = purchaseDetailId;
    }

    public String getPurchaseNumber() {
        return purchaseNumber;
    }

    public void setPurchaseNumber(String purchaseNumber) {
        this.purchaseNumber = purchaseNumber;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Date getDeliveryDate() {
        return deliveryDate;
    }

    public void setDeliveryDate(Date deliveryDate) {
        this.deliveryDate = deliveryDate;
    }

    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setPurchaseId(Long purchaseId) 
    {
        this.purchaseId = purchaseId;
    }

    public Long getPurchaseId() 
    {
        return purchaseId;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getPriceId() {
        return priceId;
    }

    public void setPriceId(Long priceId) {
        this.priceId = priceId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setQty(Long qty) 
    {
        this.qty = qty;
    }

    public Long getQty() 
    {
        return qty;
    }
    public void setProductDate(Date productDate) 
    {
        this.productDate = productDate;
    }

    public Date getProductDate() 
    {
        return productDate;
    }
    public void setShelfLife(Long shelfLife) 
    {
        this.shelfLife = shelfLife;
    }

    public Long getShelfLife() 
    {
        return shelfLife;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setItemName(String itemName) 
    {
        this.itemName = itemName;
    }

    public String getItemName() 
    {
        return itemName;
    }
    public void setOrigin(String origin) 
    {
        this.origin = origin;
    }

    public String getOrigin() 
    {
        return origin;
    }
    public void setMeasurement(Long measurement) 
    {
        this.measurement = measurement;
    }

    public Long getMeasurement() 
    {
        return measurement;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getBrandDesc() {
        return brandDesc;
    }

    public void setBrandDesc(String brandDesc) {
        this.brandDesc = brandDesc;
    }

    public String getProductSn() {
        return productSn;
    }

    public void setProductSn(String productSn) {
        this.productSn = productSn;
    }

    public String getTypeId() {
        return typeId;
    }

    public void setTypeId(String typeId) {
        this.typeId = typeId;
    }

    public String getBrandId() {
        return brandId;
    }

    public void setBrandId(String brandId) {
        this.brandId = brandId;
    }


    public List<Integer> getIds() {
        return ids;
    }

    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    public BigDecimal getReferencePrice() {
        return referencePrice;
    }

    public void setReferencePrice(BigDecimal referencePrice) {
        this.referencePrice = referencePrice;
    }

    public String getIsPack() {
        return isPack;
    }

    public void setIsPack(String isPack) {
        this.isPack = isPack;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("purchaseDetailId", getPurchaseDetailId())
            .append("productName", getProductName())
            .append("purchaseId", getPurchaseId())
            .append("productId", getProductId())
            .append("qty", getQty())
            .append("productDate", getProductDate())
            .append("shelfLife", getShelfLife())
            .append("amount", getAmount())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("price", getPrice())
                .append("referencePrice",getReferencePrice())
            .append("itemName", getItemName())
            .append("origin", getOrigin())
            .append("measurement", getMeasurement())
            .toString();
    }
}
